Skip to main content

What is the difference between Certora Formal Verification and Diligence Fuzzing

Simply put, formal verification is a independent (and also important) analysis technique. However, formal verification is difficult and time consuming, even if the specifications are already written. In contrast, once you have some specifications and a fuzzing setup Diligence Fuzzing is fully automated. It’s ready to catch bugs in your code or issues with your specifications without slowing you down early on in your development lifecycle. Once your code and specifications are in good shape, you can still use verification for additional peace of mind. One big advantage of Scribble is that it is compatible with existing verifiers. You write the properties once and you can run fuzzing and verification on the same properties.